perm filename MLISP.DOC[NET,KMC] blob
sn#191163 filedate 1975-08-14 generic text, type T, neo UTF8
THIS FILE IS MLISP.DOC[213,203] AT UCLA
SPECIFIC COMMENTS ON PUTTING MLISP TOGETHER ON CCBS
TRY THIS ALLOCATION:
R LISP 42
Y2000 14000 (CR)
DO2 HAS THE CURRENT FILE. AFTER STARTING LISP, (DSKIN DO2) THEN (PXPX)
THEN (INIT1) SCAN$ (INIT2) AS STATED BELOW.
WHEN LISP READS IN UTILS, IT HANGS UP WHEN IT GETS TO FORM FEED.
TO GET IT GOING, DO (CTRL)L .
DOING SSAVE SAVES THE UPPER SEGMENT UNPROTECTED,
SO THE DO FILE "DO" SHOULD WORK RIGHT.
PPRINT HAS LISP OF PPRINT.MLI AND MACRO1.MLI.
NOW IF WE WANT TO SPEED THE TWO-PASS PROCESS UP:
(IT IS CURRENTLY SLOW BECAUSE THE MACROS ARE EXPANDED
WHILE PRETTY-PRINTING, MAKING OUTPUT FROM MLISP
AND INPUT TO COMPL OVERBEARING)
THE TRICK IS AS FOLLOWS:
LOAD INTO COMPLR: (MACROS.LSP) AND (PPRINT.LAP)
OR THE PART OF PPRINT THAT CAME FROM MACRO1.MLI
THEN TAKE MACROS.LSP OUT OF MLISP.
The following are the steps necessary to create an MLISP system under
UCI LISP.
(1) Compile the files MLISP, RUNFN1, RUNFN2, PPRINT
using the standard UCI LISP compiler.
(2) Assemble the machine language scanner (c.f. the MLISP manual)
using the standard DEC MACRO assembler; e.g.
COMPILE SCAN.MAC <cr>
(3) Load the resulting LAP and REL files by:
R ILISP 22 <cr> Note: <cr> = carriage return
Y1000_4000___<cr> _ = space
(EXIT) <cr>
SSAVE MLISP <cr>
RUN MLISP <cr>
(HGHCOR 6000) (SETSYS DSK: MLISP) <cr>
(SETQ SAVORG BPORG) (SETQ BPORG (HGHORG NIL)) <cr>
(SETQ SAVEND BPEND) (SETQ BPEND (HGHEND)) <cr>
(DSKIN (MLISP.LAP) (RUNFN1.LAP) (MACROS.LSP)(PPRINT.LAP) MINIT UTILS) <cr>
(HGHORG BPORG) (SETQ BPORG SAVORG) (SETQ BPEND SAVEND) <cr>
(INIT1) <cr>
DSK:SCAN <altmode>
(INIT2) <cr>
(EXIT) <cr>
SSAVE MLISP <cr>
(4) Create a file (UTILS) of MLISP runtime functions containg the files
RUNFN2.LAP and SETQS; e.g.
COPY UTILS ← RUNFN2.LAP,SETQS <cr>
If the machine language scanner cannot be used (for any reason), the
LISP version -- three times slower -- may have to be used. See the
MLISP manual for instructions.
All files with extension MLI are MLISP versions of the corresponding
LISP files; e.g. RUNFN1.MLI is the MLISP version of the LISP file RUNFN1.
Since they are in the MLISP notation, these MLI files make the translator
easier to understand. They also provide examples of MLISP programs.
The file MEXPR.MLI is the reverse LISP → MLISP translator.
The files in the MLISP system:
LISP file MLISP file(s)
MLISP MLISP.MLI
RUNFN1 RUNFN1.MLI
RUNFN2 RUNFN2.MLI
PPRINT PPRINT.MLI, MACRO1.MLI
MACROS.LSP MACROS.MLI
MINIT
SETQS
MEXPR.MLI
SCAN.MAC (machine language scanner -- MACRO file)
SCAN SCAN.MLI (LISP scanner, if necessary)
MEMO (this file)